gsk: Remove gsk_render_node_set_opaque()
authorBenjamin Otte <otte@redhat.com>
Sun, 11 Dec 2016 10:48:32 +0000 (11:48 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 20 Dec 2016 17:01:09 +0000 (18:01 +0100)
If we ever feel, we need this function again, we can readd it later.

But nobody is using it other than for overriding opactiy. And you can
just override opacity directly if you care.

docs/reference/gsk/gsk4-sections.txt
gsk/gskcairorenderer.c
gsk/gskglrenderer.c
gsk/gskrendernode.c
gsk/gskrendernode.h
gsk/gskrendernodeimpl.c
gsk/gskrendernodeprivate.h

index bbae443eb3f1718f1b3c2829314fd6ec856517c7..5daa4f43f6a7267a028cd395f782289d7d25654f 100644 (file)
@@ -39,8 +39,6 @@ gsk_render_node_contains
 gsk_render_node_set_bounds
 gsk_render_node_set_transform
 gsk_render_node_set_opacity
-gsk_render_node_set_opaque
-gsk_render_node_is_opaque
 GskBlendMode
 gsk_render_node_set_blend_mode
 GskScalingFilter
index 0482903430c299d102c10cf5e4aa71bc68fbe668..3aebb417a303e1fe20e784ec0ff63358af9a9c56 100644 (file)
@@ -82,7 +82,7 @@ gsk_cairo_renderer_render_node (GskCairoRenderer *self,
       cairo_clip (cr);
     }
 
-  if (!gsk_render_node_is_opaque (node) && gsk_render_node_get_opacity (node) != 1.0)
+  if (gsk_render_node_get_opacity (node) != 1.0)
     {
       GSK_NOTE (CAIRO, g_print ("Pushing opacity group (opacity:%g)\n",
                                 gsk_render_node_get_opacity (node)));
index 463cf89e46a9e10c91062b331d36d3d2ce704526..f7bf7bc0a5e329263362b8b16b99be07bbba345b 100644 (file)
@@ -48,7 +48,6 @@ typedef struct {
 
   graphene_matrix_t mvp;
 
-  gboolean opaque : 1;
   float opacity;
   float z;
 
@@ -460,7 +459,7 @@ render_item (GskGLRenderer *self,
     }
 
   /* Pass the opacity component */
-  if (item->children != NULL || item->opaque)
+  if (item->children != NULL)
     opacity = 1.0;
   else
     opacity = item->opacity;
@@ -479,7 +478,7 @@ render_item (GskGLRenderer *self,
                       item->name,
                       item,
                       item->size.width, item->size.height,
-                      item->opaque ? 1 : item->opacity,
+                      item->opacity,
                       item->blend_mode));
 
   glDrawArrays (GL_TRIANGLES, 0, N_VERTICES);
@@ -607,13 +606,10 @@ project_item (const graphene_matrix_t *projection,
 static gboolean
 render_node_needs_render_target (GskRenderNode *node)
 {
-  if (!gsk_render_node_is_opaque (node))
-    {
-      double opacity = gsk_render_node_get_opacity (node);
+  double opacity = gsk_render_node_get_opacity (node);
 
-      if (opacity < 1.0)
-        return TRUE;
-    }
+  if (opacity < 1.0)
+    return TRUE;
 
   return FALSE;
 }
@@ -667,7 +663,6 @@ gsk_gl_renderer_add_render_item (GskGLRenderer           *self,
   graphene_matrix_multiply (&mv, &self->mvp, &item.mvp);
   item.z = project_item (projection, &mv);
 
-  item.opaque = gsk_render_node_is_opaque (node);
   item.opacity = gsk_render_node_get_opacity (node);
 
   item.blend_mode = gsk_render_node_get_blend_mode (node);
index d694ce85a57d9a3e3a8bdef4419b9af08e88c039..2126723833d4e3892c07f39946caee3a96000538 100644 (file)
@@ -603,48 +603,6 @@ gsk_render_node_get_opacity (GskRenderNode *node)
   return node->opacity;
 }
 
-/**
- * gsk_render_node_set_opaque:
- * @node: a #GskRenderNode
- * @opaque: whether the node is fully opaque or not
- *
- * Sets whether the node is known to be fully opaque.
- *
- * Fully opaque nodes will ignore the opacity set using gsk_render_node_set_opacity(),
- * but if their parent is not opaque they may still be rendered with an opacity.
- *
- * Renderers may use this information to optimize the rendering pipeline.
- *
- * Since: 3.90
- */
-void
-gsk_render_node_set_opaque (GskRenderNode *node,
-                            gboolean       opaque)
-{
-  g_return_if_fail (GSK_IS_RENDER_NODE (node));
-  g_return_if_fail (node->is_mutable);
-
-  node->opaque = !!opaque;
-}
-
-/**
- * gsk_render_node_is_opaque:
- * @node: a #GskRenderNode
- *
- * Retrieves the value set using gsk_render_node_set_opaque().
- *
- * Returns: %TRUE if the #GskRenderNode is fully opaque
- *
- * Since: 3.90
- */
-gboolean
-gsk_render_node_is_opaque (GskRenderNode *node)
-{
-  g_return_val_if_fail (GSK_IS_RENDER_NODE (node), TRUE);
-
-  return node->opaque;
-}
-
 /**
  * gsk_render_node_contains:
  * @node: a #GskRenderNode
index 6c40d41616a669d57b2c356c4cb984c6c5d5b31a..32cbdb88f8bb7ed9a4486eaa7ba353dedb57da19 100644 (file)
@@ -87,11 +87,6 @@ void                    gsk_render_node_set_transform           (GskRenderNode
 GDK_AVAILABLE_IN_3_90
 void                    gsk_render_node_set_opacity             (GskRenderNode *node,
                                                                  double         opacity);
-GDK_AVAILABLE_IN_3_90
-void                    gsk_render_node_set_opaque              (GskRenderNode *node,
-                                                                 gboolean       opaque);
-GDK_AVAILABLE_IN_3_90
-gboolean                gsk_render_node_is_opaque               (GskRenderNode *node);
 
 GDK_AVAILABLE_IN_3_90
 void                    gsk_render_node_set_blend_mode          (GskRenderNode *node,
index 3d9dc081531a46782f43f9841224279a7931a00c..b3ba4755b650ac7081779d4c8eae4f8293af29e1 100644 (file)
@@ -201,15 +201,13 @@ gsk_cairo_node_get_draw_context (GskRenderNode *node,
       if (renderer)
         {
           self->surface = gsk_renderer_create_cairo_surface (renderer,
-                                                             node->opaque ? CAIRO_FORMAT_RGB24
-                                                                          : CAIRO_FORMAT_ARGB32,
+                                                             CAIRO_FORMAT_ARGB32,
                                                              ceilf (node->bounds.size.width),
                                                              ceilf (node->bounds.size.height));
         }
       else
         {
-          self->surface = cairo_image_surface_create (node->opaque ? CAIRO_FORMAT_RGB24
-                                                                   : CAIRO_FORMAT_ARGB32,
+          self->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                                       ceilf (node->bounds.size.width),
                                                       ceilf (node->bounds.size.height));
         }
index 7d7748d8a035610cbc97f0a90904fd0bf851dd34..1d46db8db39a2580c66f5bdeac6d641acb871a6b 100644 (file)
@@ -52,7 +52,6 @@ struct _GskRenderNode
 
   /* Bit fields; leave at the end */
   gboolean is_mutable : 1;
-  gboolean opaque : 1;
   gboolean transform_set : 1;
   gboolean needs_world_matrix_update : 1;
 };